
             
/**
 * 
 *
 * Copyright (c) 2012-2013 JLLT Corp. 2012-2013,All Rights Reserved.
 * This software is published under the 金麟龙腾商贸有限公司.
 * License version 1.0, a copy of which has been included with this
 * distribution in the LICENSE.txt file. 
 *
 * @File name:  QueryTPlateProductAction.java   查询【板块商品信息:T_PLATE_PRODUCT】
 * @Create on:  2012-07-18 21:44:195
 * @Author      :  高宇舟
 *
 * @ChangeList
 * ---------------------------------------------------
 * Date         Editor              ChangeReasons
 *
 */
           
        package com.boho.ecp.product.action;

            
import java.sql.Connection;
import java.util.List;

import cn.boho.framework.actions.ActionImp;
import cn.boho.framework.context.ActionContext;
import cn.boho.framework.po.DynaBeanMap;
import cn.boho.framework.service.MessageService;

import com.boho.ecp.po.TProductPO;
import com.boho.ecp.product.cache.TPlateProductCache;
import com.boho.ecp.util.JsonUtils;
import com.boho.ecp.util.MatchUtils;
import com.google.gson.reflect.TypeToken;
public class QueryTPlateProductAction extends ActionImp {
	private Connection con=null;
	private String plateCode = null;
	@Override
	protected void doException(ActionContext atx, Exception ex) {
		atx.setErrorContext("EC_COMMON_1004", MessageService.getMessage("EC_COMMON_1004"),"【板块商品信息:T_PLATE_PRODUCT|】" ,ex);
	}
	@Override
	protected int performExecute(ActionContext atx) throws Exception {
//		List list = TPlateProductDao.queryTPlateProduct(con, plateCode, 1);
		List list = TPlateProductCache.queryTPlateProduct(con, plateCode, 1);
		if (!MatchUtils.isEmpty(list)) {
			for (int i=0; i<list.size(); i++) {
				DynaBeanMap dbm = (DynaBeanMap) list.get(i);
				List<TProductPO> productList = JsonUtils.fromJson(dbm.get("PLATE_PRODUCTS")+"", new TypeToken<List<TProductPO>>(){}.getType());
				dbm.put("PRODUCT_LIST", productList);
			}
		}
		atx.setValue("T_PLATE_PRODUCT", list.toArray());
		return 1;
	}
	@Override
	protected int verifyParameters(ActionContext atx) throws Exception {
		con = atx.getConection();
		plateCode = atx.getStringValue("PLATE_CODE","");
		return 1;
	}
}
